5.1 Combinational
Logic Circuit
Part 5.1.1 Difference
between Combinational circuits and Sequential circuits
Combinational circuits
are characterized by outputs that are directly determined by the current
inputs, without any reliance on past inputs. They implement specific
information-processing operations using Boolean functions.
Sequential circuits, on
the other hand, include memory elements (binary cells). Their outputs depend
not only on the current inputs but also on the past state of these memory
elements. This means their behavior is influenced by a time sequence of inputs and
internal states. Sequential circuits are further elaborated in the next chapter.
The current chapter aims
to use the knowledge from previous chapters to develop systematic design and
analysis procedures for combinational circuits.
Figure 1. Simple Block Diagram of a Combinational Logic Circuit
A combinational circuit is made up of input and output variables
connected by logic gates. These gates take in binary signals from the inputs
and transform them into binary output signals, effectively converting input
data into desired output data. Both input and output data are represented by
binary signals, which can be either a logic-1 or a logic-0.
Figure 1 illustrates a typical combinational circuit. It receives
'n' binary input variables from an external source and sends 'm' output
variables to an external destination. Often, these sources or destinations are
storage registers, which can be close to the circuit or on a separate device.
Crucially, these external registers do not affect the combinational circuit's
operation; if they did, the entire system would be considered a sequential
circuit.
With 'n' input variables, there are 2n possible input
combinations. For each of these combinations, there is a unique output
combination. A combinational circuit's behavior can be described by 'm' Boolean
functions, with each function representing one output variable and expressed
using the 'n' input variables.
Each input variable to a combinational circuit can be supplied via
one or two wires. If only one wire is used, it might represent the variable in
its normal (unprimed) or complemented (primed) form. If a Boolean expression
requires a literal that isn't directly available from a single input wire, an
inverter is needed to produce its complement. However, if an input variable is
provided through two wires (one for the normal form and one for the
complement), inverters are not necessary for that input. Most digital systems
use flip-flop circuits as binary cells, which inherently provide both the
normal and complemented values of a stored binary variable. For the remainder
of our discussion, we will assume that each input variable is supplied with
both its normal and complemented values simultaneously via two wires.
Nevertheless, it's important to remember that an inverter can always be used to
generate the complement if only a single wire input is available.